home *** CD-ROM | disk | FTP | other *** search
/ Mission 3 / Mission 3.zip / Mission 3.iso / demovers / cab_20d / doc / prog / cab_prot.txt next >
Text File  |  1998-10-29  |  7KB  |  272 lines

  1.  
  2. Das CAB-Protokoll
  3. =================
  4.  
  5. Das CAB-Protokoll besteht aus einer Reihe von AES-Messages mit deren
  6. Hilfe beliebige GEM-Programme bestimmte Aufgaben an CAB übertragen können,
  7. bzw. bestimmte Aktionen mit CAB koordinieren können.
  8.  
  9. Der Inhalt der Environment-Variablen BROWSER= (sofern definiert) enthält
  10. den Zugriffspfad von CAB. Sollte sich CAB nicht im Speicher befinden kann
  11. ein Programm über diese Variable CAB selbst nachstarten.
  12.  
  13. Eine mögliche Anwendung:
  14. Falls man im Internet weitere aktuelle Informationen oder Updates zu
  15. eigenen Programmen anbietet, könnte man mit dem CAB-Protokoll ohne großen
  16. Aufwand den Zugriff auf diese Informationen aus diesen Programmen heraus
  17. ermöglichen. CAB erledigt dann den Download der Daten und die Darstellung.
  18.  
  19.  
  20. Die Beschreibung der Messages
  21. =============================
  22.  
  23. CAB_HELLO  ($CAB8)  (Nachricht von CAB)
  24. ------------------
  25. CAB verschickt nach seinem Start an alle laufenden Programme diese
  26. Nachricht
  27.  
  28. msg[0] = $CAB8
  29. msg[1] = Id von CAB
  30. msg[2] = 0
  31. msg[3] = Version des CAB-Protokolls ($0100 entspricht V1.00)
  32. msg[4] = Bitvektor mit den von CAB (CAB.OVL) unterstützten Internet-
  33.          Protokollen
  34.              Bit 0: HTTP
  35.              Bit 1: FTP
  36.              Bit 2: GOPHER
  37.              Bit 3: WAIS
  38.              Bit 4: MAILTO
  39.              Bit 5: NNTP
  40.              Bit 6: TELNET
  41.              Bit 7-15: 0 (reserviert)
  42. msg[5] = Bitvektor mit den von CAB unterstützten Nachrichten des
  43.          CAB-Protokolls.
  44.              Bit 0: CAB_VIEW
  45.              Bit 1: CAB_MAIL, CAB_MAILSENT
  46.              Bit 2: CAB_REQUESTSTATUS, CAB_RELEASESTATUS, CAB_STATUS,
  47.                     CAB_EXIT
  48.              Bit 3-15: 0 (reserviert)
  49. msg[6] = 0
  50. msg[7] = 0
  51.  
  52.  
  53.  
  54. CAB_SUPPORT  ($CABB)  (Nachricht an CAB)
  55. --------------------
  56. Wird diese Nachricht an CAB geschickt, sendet CAB die Nachricht CAB_HELLO
  57. zurück. Bleibt CAB_HELLO aus, wird noch eine alte Version von CAB benutzt
  58. welche das CAB-Protokoll noch nicht unterstützt.
  59. Alle Programme, die an den Informationen interessiert sind, die CAB_HELLO
  60. liefert, sollten nach dem Start CAB_SUPPORT an CAB senden. Wird CAB erst
  61. später gestartet, wird CAB_HELLO automatisch an das Programm geschickt.
  62.  
  63. msg[0] = $CABB
  64. msg[1] = Id des PRGs
  65. msg[2] = 0
  66. msg[3] = 0
  67. msg[4] = 0
  68. msg[5] = 0
  69. msg[6] = 0
  70. msg[7] = 0
  71.  
  72.  
  73.  
  74. CAB_VIEW ($CAB3)  (Nachricht an CAB)
  75. ----------------
  76. Ähnlich wie VA_START aber statt eines Dateinamens wird eine URL übergeben.
  77. CAB zeigt diese Datei dann an.
  78.  
  79. msg[0] = $CAB3
  80. msg[1] = Id des PRGs
  81. msg[2] = 0
  82. msg[3] = \ Zeiger auf die URL
  83. msg[4] = /
  84. msg[5] = Wenn hier 1 eingetragen wurde, stellt CAB die URL in einem neuen
  85.          Fenster dar, wenn 0 eingetragen wurde wird das oberste CAB-
  86.          Fenster benutzt.
  87. msg[6] = 0
  88. msg[7] = 0
  89.  
  90.  
  91.  
  92. CAB_REQUESTSTATUS ($CAB5)  (Nachricht an CAB)
  93. -------------------------
  94. Kann an CAB geschickt werden, um zu erfahren ob CAB zur Zeit online oder
  95. offline ist. CAB schickt daraufhin bei jeder Änderung des On-/Offline-
  96. Statuses die Message CAB_STATUS.
  97.  
  98. msg[0] = $CAB5
  99. msg[1] = Id des PRGs
  100. msg[2] = 0
  101. msg[3] = 0
  102. msg[4] = 0
  103. msg[5] = 0
  104. msg[6] = 0
  105. msg[7] = 0
  106.  
  107.  
  108.  
  109. CAB_RELEASESTATUS ($CAB7)  (Nachricht an CAB)
  110. -------------------------
  111. Sollte an CAB geschickt werden, wenn ein Programm nicht mehr an den
  112. on/offline- Informationen interessiert ist, die mit CAB_REQUESTSTATUS
  113. angefordert wurden (z.B. weil es sich beendet).
  114.  
  115. msg[0] = $CAB7
  116. msg[1] = Id des PRGs
  117. msg[2] = 0
  118. msg[3] = 0
  119. msg[4] = 0
  120. msg[5] = 0
  121. msg[6] = 0
  122. msg[7] = 0
  123.  
  124.  
  125.  
  126. CAB_STATUS ($CAB6)  (Nachricht von CAB)
  127. ------------------
  128. Wird von CAB an alle Programme verschickt, die sich mit CAB_REQUESTSTATUS
  129. angemeldet haben.
  130.  
  131. msg[0] = $CAB6
  132. msg[1] = Id von CAB
  133. msg[2] = 0
  134. msg[3] = 1 falls CAB online; 0 falls CAB offline.
  135. msg[4] = 0
  136. msg[5] = 0
  137. msg[6] = 0
  138. msg[7] = 0
  139.  
  140.  
  141.  
  142. CAB_EXIT ($CAB1)  (Nachricht von CAB)
  143. ----------------
  144. Wird von CAB an alle Programme geschickt, die sich mit CAB_REQUESTSTATUS
  145. angemeldet haben, sobald sich CAB beendet. Vorher wird auch noch ein
  146. CAB_STATUS gesendet, in dem der offline-Zustand gemeldet wird.
  147.  
  148. msg[0] = $CAB1
  149. msg[1] = Id von CAB
  150. msg[2] = 0
  151. msg[3] = 0
  152. msg[4] = 0
  153. msg[5] = 0
  154. msg[6] = 0
  155. msg[7] = 0
  156.  
  157.  
  158.  
  159. CAB_MAIL ($CAB9)  (Nachricht an CAB)
  160. ----------------
  161. Kann an CAB geschickt werden, um Mails zu verschicken.
  162.  
  163. msg[0] = $CAB9
  164. msg[1] = Id des PRGs
  165. msg[2] = 0
  166.  
  167. msg[3] = \ Zeiger auf die URL. Ein 'Betreff' (Subject) kann, durch ein
  168. msg[4] = / Fragezeichen getrennt, direkt an die URL gehängt werden.
  169.  
  170. msg[5] = \ Zeiger auf eine Datei, die den Mailinhalt enthält oder
  171. msg[6] = / null (dann öffnet CAB einen Editor, in dem die Mail eingegeben
  172.            wird).
  173.  
  174. msg[7] = Bitvektor mit weiteren Optionen.
  175.              Bit 0: 0 falls die Maildatei sofort verschickt werden soll,
  176.                     oder 1 falls die Maildatei vom Benutzer noch in CAB
  177.                     bearbeitet/geändert werden soll.
  178.              Bit 1: bei 1 wird die Maildatei gelöscht, nachdem sie verschickt
  179.                     wurde, bei 0 bleibt sie erhalten.
  180.              Bit 2-15: 0 (reserviert)
  181.  
  182.  
  183. CAB_MAILSENT ($CABA)  (Nachricht von CAB)
  184. --------------------
  185. Wird von CAB an das Programm geschickt, welches CAB_MAIL gesendet hat und
  186. enthält Informationen, ob das Verschicken der Mail geklappt hat oder nicht.
  187.  
  188. msg[0] = $CABA
  189. msg[1] = Id von CAB
  190. msg[2] = 0
  191. msg[3] = 1 falls die Mail ohne Fehler verschickt wurde; 0 bei Fehler (in
  192.          diesem Fall ist in msg[4] die Fehlerursache zu erfahren).
  193. msg[4] = Enthält eine Fehlernummer, falls msg[3]=0
  194.               0: Keine URL angegeben.
  195.               1: Offline, Netzverbindung gestört, Server nicht erreichbar.
  196.               2: Benutzer hat Aktion abgebrochen (Falls die Mail in CAB
  197.                  bearbeitet werden sollte, hat der Benutzer die
  198.                  Möglichkeit die Aktion abzubrechen)
  199.               3: GEMDOS-Fehler beim Zugriff auf die Maildatei.
  200.               4: Editor zum Bearbeiten konnte nicht aufgerufen werden.
  201. msg[5] = 0
  202. msg[6] = 0
  203. msg[7] = 0
  204.  
  205.  
  206.  
  207.  
  208. Spezielle Messages für 'Cache-Tools'
  209. ====================================
  210.  
  211. CAB_CCHANGED ($CAB0)  (Nachricht an/von CAB)
  212. --------------------
  213. Der Cache (bzw. CACHE.CAB) wurde verändert und soll neu eingelesen werden.
  214.  
  215. msg[0] = $CAB0
  216. msg[1] = Id von CAB/des PRGs
  217. msg[2] = 0
  218. msg[3] = 0
  219. msg[4] = 0
  220. msg[5] = 0
  221. msg[6] = 0
  222. msg[7] = 0
  223.  
  224.  
  225.  
  226. CAB_EXIT ($CAB1)  (Nachricht an/von CAB)
  227. ----------------
  228. CAB oder das Cache-Tool beendet sich (als Info für das jeweils andere PRG)
  229.  
  230. msg[0] = $CAB1
  231. msg[1] = Id von CAB/des PRGs
  232. msg[2] = 0
  233. msg[3] = 0
  234. msg[4] = 0
  235. msg[5] = 0
  236. msg[6] = 0
  237. msg[7] = 0
  238.  
  239.  
  240.  
  241. CAB_PATH ($CAB2)  (Nachricht von CAB)
  242. ----------------
  243. Die lokalen HTML-Verzeichnisse und/oder das Cache-Verzeichnis wurde
  244. geändert. Nähere Infos sind in der Cache-Tools-Dokumentation zu erfahren.
  245.  
  246. msg[0] = $CAB2
  247. msg[1] = Id von CAB
  248. msg[2] = 0
  249. msg[3] = 0
  250. msg[4] = 0
  251. msg[5] = 0
  252. msg[6] = 0
  253. msg[7] = 0
  254.  
  255.  
  256.  
  257. CAB_TERM ($CAB4)  (Nachricht von CAB)
  258. ----------------
  259. Das Cache-Tool soll sich beenden.
  260.  
  261. msg[0] = $CAB4
  262. msg[1] = Id von CAB
  263. msg[2] = 0
  264. msg[3] = 0
  265. msg[4] = 0
  266. msg[5] = 0
  267. msg[6] = 0
  268. msg[7] = 0
  269.  
  270.  
  271.  
  272.